import Mock from "mockjs";
import { builder, getQueryParameters } from "../util";

const totalCount = 5701;

const serverList = options => {
	const parameters = getQueryParameters(options);

	const result = [];
	const pageNo = parseInt(parameters.pageNo);
	const pageSize = parseInt(parameters.pageSize);
	const totalPage = Math.ceil(totalCount / pageSize);
	const key = (pageNo - 1) * pageSize;
	const next = (pageNo >= totalPage ? totalCount % pageSize : pageSize) + 1;

	for (let i = 1; i < next; i++) {
		const tmpKey = key + i;
		result.push({
			key: tmpKey,
			id: tmpKey,
			no: "No " + tmpKey,
			description: "这是一段描述",
			callNo: Mock.mock("@integer(1, 999)"),
			status: Mock.mock("@integer(0, 3)"),
			updatedAt: Mock.mock("@datetime"),
			editable: false
		});
	}

	return builder({
		pageSize: pageSize,
		pageNo: pageNo,
		totalCount: totalCount,
		totalPage: totalPage,
		data: result
	});
};

const projects = () => {
	return builder({
		data: [
			{
				id: 1,
				cover:
					"https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png",
				title: "Alipay",
				description: "那是一种内在的东西， 他们到达不了，也无法触及的",
				status: 1,
				updatedAt: "2018-07-26 00:00:00"
			},
			{
				id: 2,
				cover:
					"https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png",
				title: "Angular",
				description: "希望是一个好东西，也许是最好的，好东西是不会消亡的",
				status: 1,
				updatedAt: "2018-07-26 00:00:00"
			},
			{
				id: 3,
				cover:
					"https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png",
				title: "Ant Design",
				description: "城镇中有那么多的酒馆，她却偏偏走进了我的酒馆",
				status: 1,
				updatedAt: "2018-07-26 00:00:00"
			},
			{
				id: 4,
				cover:
					"https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png",
				title: "Ant Design Pro",
				description: "那时候我只会想自己想要什么，从不想自己拥有什么",
				status: 1,
				updatedAt: "2018-07-26 00:00:00"
			},
			{
				id: 5,
				cover:
					"https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png",
				title: "Bootstrap",
				description: "凛冬将至",
				status: 1,
				updatedAt: "2018-07-26 00:00:00"
			},
			{
				id: 6,
				cover:
					"https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png",
				title: "Vue",
				description: "生命就像一盒巧克力，结果往往出人意料",
				status: 1,
				updatedAt: "2018-07-26 00:00:00"
			}
		],
		pageSize: 10,
		pageNo: 0,
		totalPage: 6,
		totalCount: 57
	});
};

const activity = () => {
	return builder([
		{
			id: 1,
			user: {
				nickname: "@name",
				avatar:
					"https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png"
			},
			project: {
				name: "白鹭酱油开发组",
				action: "更新",
				event: "番组计划"
			},
			time: "2018-08-23 14:47:00"
		},
		{
			id: 1,
			user: {
				nickname: "蓝莓酱",
				avatar:
					"https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png"
			},
			project: {
				name: "白鹭酱油开发组",
				action: "更新",
				event: "番组计划"
			},
			time: "2018-08-23 09:35:37"
		},
		{
			id: 1,
			user: {
				nickname: "@name",
				avatar: "@image(64x64)"
			},
			project: {
				name: "白鹭酱油开发组",
				action: "创建",
				event: "番组计划"
			},
			time: "2017-05-27 00:00:00"
		},
		{
			id: 1,
			user: {
				nickname: "曲丽丽",
				avatar: "@image(64x64)"
			},
			project: {
				name: "高逼格设计天团",
				action: "更新",
				event: "六月迭代"
			},
			time: "2018-08-23 14:47:00"
		},
		{
			id: 1,
			user: {
				nickname: "@name",
				avatar: "@image(64x64)"
			},
			project: {
				name: "高逼格设计天团",
				action: "created",
				event: "六月迭代"
			},
			time: "2018-08-23 14:47:00"
		},
		{
			id: 1,
			user: {
				nickname: "曲丽丽",
				avatar:
					"https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png"
			},
			project: {
				name: "高逼格设计天团",
				action: "created",
				event: "六月迭代"
			},
			time: "2018-08-23 14:47:00"
		}
	]);
};

const teams = () => {
	return builder([
		{
			id: 1,
			name: "科学搬砖组",
			avatar:
				"https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png"
		},
		{
			id: 2,
			name: "程序员日常",
			avatar:
				"https://gw.alipayobjects.com/zos/rmsportal/cnrhVkzwxjPwAaCfPbdc.png"
		},
		{
			id: 1,
			name: "设计天团",
			avatar:
				"https://gw.alipayobjects.com/zos/rmsportal/gaOngJwsRYRaVAuXXcmB.png"
		},
		{
			id: 1,
			name: "中二少女团",
			avatar:
				"https://gw.alipayobjects.com/zos/rmsportal/ubnKSIfAJTxIgXOKlciN.png"
		},
		{
			id: 1,
			name: "骗你学计算机",
			avatar:
				"https://gw.alipayobjects.com/zos/rmsportal/WhxKECPNujWoWEFNdnJE.png"
		}
	]);
};

const radar = () => {
	return builder([
		{
			item: "引用",
			个人: 70,
			团队: 30,
			部门: 40
		},
		{
			item: "口碑",
			个人: 60,
			团队: 70,
			部门: 40
		},
		{
			item: "产量",
			个人: 50,
			团队: 60,
			部门: 40
		},
		{
			item: "贡献",
			个人: 40,
			团队: 50,
			部门: 40
		},
		{
			item: "热度",
			个人: 60,
			团队: 70,
			部门: 40
		},
		{
			item: "引用",
			个人: 70,
			团队: 50,
			部门: 40
		}
	]);
};

Mock.mock(/\/service/, "get", serverList);
Mock.mock(/\/list\/search\/projects/, "get", projects);
Mock.mock(/\/workplace\/activity/, "get", activity);
Mock.mock(/\/workplace\/teams/, "get", teams);
Mock.mock(/\/workplace\/radar/, "get", radar);
